package me.zhengjie.minbearwcs.dao.inbound.inf;

import me.zhengjie.minbearwcs.entity.PO.wcs.inbound.InboundOrder;
import me.zhengjie.minbearwcs.entity.PO.wcs.inbound.InboundOrderDetail;
import me.zhengjie.minbearwcs.entity.PO.wcs.inbound.status.InboundOrderDetailStatus;

import java.util.List;

public interface InboundOrderDetailDao {
    boolean insert(InboundOrderDetail inboundOrderDetail);

    InboundOrderDetail selectDetailByOrderCodeAndPalletCode(String orderCode,String palletCode, InboundOrderDetailStatus status);

    boolean updateStartPointById(Integer id,String startPoint);

    boolean updateStatusById(Integer id , InboundOrderDetailStatus status);

    InboundOrderDetailStatus getStatusById(Integer id);

    boolean updateStoragePointById(Integer id,String storagePoint);

    boolean updateExchangePointById(Integer id,String exchangePoint);

    InboundOrderDetail selectDetailByOrderCodeAndPalletCode(String palletCode, InboundOrderDetailStatus status);

    InboundOrderDetail selectById(Integer id);

    Integer selectIdByInboundOrderAndPallet(String inboundOrderCode,String palletCode);

    InboundOrderDetail selectByPalletAndStoragePoint(String pallet,String storagePoint);

    List<InboundOrderDetail> selectByInboundOrderCode(String inboundOrderCode);

    boolean deleteById(Integer id);
}
